Automatic Color Adjustment of a Template Design

ABSTRACT

The present invention generates a color template design. According to one aspect, a source image is selected. Colors of a selected template design are adjusted automatically using color data collected from the selected source image. A histogram may be generated for the selected source image. The histogram may be analyzed to automatically adjust the colors of the selected template design.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/181,810, filed Feb. 11, 2000 and U.S. application Ser. No. 09/735,572filed Dec. 12, 2000, now U.S. Pat. No. 7,262,778.

FIELD OF THE INVENTION

The present invention relates to color template generation techniques.More particularly, the present invention relates to automatic coloradjustment of a template design.

COPYRIGHT NOTICE/PERMISSION

A portion of the disclosure of this patent document may contain materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever. The following notice applies to the software and dataas described below and in the drawings hereto: Copyright ©1999, SonyElectronics, Inc., All Rights Reserved.

BACKGROUND OF THE INVENTION

Growth in technology and business transactions has given rise to a needfor making presentations in all occupational fields. Presentations areregularly conducted in sales, advertising, negotiations, speeches,seminars, educational courses, and several other areas. Due to theextensive amount of presentations made today, it has become important toformat the presentation is an attractive template to bring forth theinformation being presented.

Currently several template options are available to a consumer formaking a presentation. The options available are for a user to select atype of pre-designed template for their information or image beingpresented. Pre-designed templates are of a pre-determined format andpre-determined color. A consumer has the options of selecting one of thepre-determined templates and using it as the template for thepresentation.

A drawback of choosing a predetermined template with pre-determinedformat and pre-determined color is that the consumer is not able tomatch the template's appearance to the appearance of the information orthe image being presented. Since appearance is the main reason for usinga template, a pre-determined template creates a mismatch and does notbring forth the information being presented in its best format. Themismatch in some cases creates a distraction for the viewers instead ofenhancing the information.

Another drawback for selecting a pre-determined template withpre-determined format and colors is that the consumer is not able tomodify or change the parameters of the pre-determined template to suitthe presentation. Thus the consumer has to spend a large amount of timetrying to find a pre-determined template that is close to the desiredformat and color and thus creates a non-user friendly template whichlacks in providing ease of use to the consumer.

SUMMARY OF THE INVENTION

The present invention generates a color template design. According toone aspect, a source image is selected. Colors of a selected templatedesign are adjusted automatically using color data collected from theselected source image. A histogram may be generated for the selectedsource image. The histogram may be analyzed to automatically adjust thecolors of the selected template design.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of one embodiment illustrating an overview of theoperation;

FIGS. 1B and 1C are block diagrams of an exemplary digital computerprocessing environment suitable for practicing the invention accordingto one embodiment;

FIG. 2 is a flow diagram of one embodiment to generate a color templatedesign;

FIG. 3 is a flow diagram of one embodiment to generate a color templatedesign;

FIG. 4 illustrates one exemplary type of source image according to oneembodiment;

FIG. 5 illustrates one exemplary type of histogram generated based onselection of an source image according to one embodiment;

FIG. 6 illustrates one exemplary type of template design according toone embodiment; and

FIG. 7 illustrates one exemplary type of color selection choice menuaccording to one embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of embodiments of the invention,reference is made to the accompanying drawings in which like referencesindicate similar elements, and in which is shown by way of illustrationspecific embodiments in which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that logical, mechanical,electrical and other changes may be made without departing from thescope of the present invention. The following detailed description is,therefore, not to be taken in a limiting sense, and the scope of thepresent invention is defined only by the appended claims.

Beginning with an overview of the operation of the invention, FIG. 1Aillustrates one embodiment of a color template design system. The colortemplate design system may have one or more clients 101 interacting withone or more servers 103 to generate a color template design. The server103 and the client 101 communicate directly with each other. In oneembodiment, server 103 and client 101 communicate through anintermediary such as a caching proxy server. In another embodiment, theserver 103 and the client 101 are on separate local area networks (LAN).In another embodiment the server 103 and the client 101 are connectedthrough a wide area network. The server 103 and client 101 interact witheach other for sending various types of data, such as different types ofstreaming media data in various formats. In one embodiment, thestreaming media data is sent in a downstream direction from server 103to client 101. In another embodiment the client 101 sends a request andother streaming media data information to server 103.

A client 101 sends source image and template design selectioninformation through input 105 to the server 103. The input may bethrough the various types of electronic devices and methods commonlyknown, for example, a stand-alone computer, a network computer,broadcast system, and an online World Wide Web submission. The server103 receives the input information from the client 101 and posts theinformation in receiving area 107.

The server 103 sends the input information from its receiving area 107to its processing area 109 for processing the input information.Processing performed at processing area 109 consists of processingfunctions such as evaluating user selection, generating histograms,selecting colors based on histograms, and providing color selectioninformation.

The server 103 sends the processed information from its processing area109 to the client's 101 displaying area 111. The display may be a PLAYfunction on a video, television screen, computer screen, or may be avideo clip or PLAY function on an online system. The client 101 viewsthe display in its display area 111 and sends the display information toits selection area 113. At selection area 113, the client 101 makes acolor selection for the template design and sends the selectedinformation back to server 103.

The server 103 receives the selection information from the client 101and posts the selection information in its receiving area 115.

The server 103 sends the selection information in receiving area 115 toits processing area 117 for processing the selection information.Processing at processing area 117 consists of approving the selection,applying selection information to the template design and sending thetemplate design with applied color selection for display to the client101. The server 103 sends the processed information from its processingarea 117 to the client 101 for displaying the processed information.

The client 101 receives the processed information, the adjusted colortemplate design, and displays the color template design in displayingarea 119. The client 101 can accept the displayed color template designand display the color template design in displaying area 119 as thetemplate for the color template design system.

Alternatively, client 101 may choose to adjust the color template designselection. In this case, the client 101 sends the displayed colortemplate design information from its display area 199 to makeadjustments area 121. The client 101 makes the desired adjustments andsends the adjustment information to the server 103 for adjustments. Theserver 103 receives the adjustment information in its processing area117 and processes the adjustment information to make the adjustmentsrequested by the client 101. The server 103 sends the adjustedinformation to client 101 for displaying the adjusted information. Theclient 101 receives the adjusted information, the color template design,and displays the color template design as the template for the colortemplate design system.

The processing stages and areas described, are examples of methods thatcan be utilized for separating one processing stage from another and onearea from another. One skilled in the art will appreciate that theprocessing stages and areas may be designed in various combinations toderive the same result and are not to be construed as a limiting featureof this invention. For example, processing stages can be combined intoone processing mode and interact with the client 101 through a singleprocessing mode.

In one embodiment, as shown in FIG. 1B, the color template design servercomputer 103 hosts a color template design web site and is part of, orcoupled to, an ISP (Internet Service Provider) 135 to provide a colortemplate design. Client computer 101 that includes input 105, display111, selection 113, display 119, and make adjustment area 121, executesa conventional Internet browsing application to exchange data with theserver 103. Execution of the Internet browsing application causes a webpage to be displayed. The displayed web page contains a variety ofselection features, color template design options, various templates andcolors, and advertisements and banners for various products andservices.

In another embodiment, an online service provider, company or personoffers an online service for providing a color template design withvarious colors and receives compensation for their services. Thecompensation can be in the form of a fee. For example a fee is submittedto the online service provider through use of a credit card.Alternatively, the service provider charges a fee for submission andprovides the individual with a template design with a variety of colorsfor downloading or allows the user to view the online.

It is readily apparent that the present invention is not limited toInternet access and Internet web-based sites; directly coupled andprivate networks are also contemplated.

FIG. 1C. is a block diagram of an exemplary digital computer processingsystem 140, for use as a color template design server 103 according toone embodiment. The computer system 140 includes a processor 150, memory155 and input/output capability 160 coupled to a system bus 165. Thememory 155 is configured to store instructions which, when executed bythe processor 150, perform the methods described herein. The memory 155may also store data and content related to color template designs andcolors. Input/output 160 provides for the delivery and display oftemplate designs with various colors or portions or representationsthereof. Input/output 160 also encompasses various types ofcomputer-readable media, including any type of storage device that isaccessible by the processor 150. It will also be appreciated that theserver 103 is controlled by operating system software executing inmemory 155. Input/output and related media 160 store thecomputer-executable instructions for the operating system and methods ofthe present invention as well as the data and content related to thestories.

The description of FIGS. 1B-C is intended to provide an overview ofcomputer hardware and other operating components suitable forimplementing the invention, but is not intended to limit the applicableenvironments. It will be appreciated that the computer system 140 is oneexample of many possible computer systems which have differentarchitectures. A typical computer system will usually include at least aprocessor, memory, and a bus coupling the memory to the processor. Oneof skill in the art will immediately appreciate that the invention canbe practiced with other computer system configurations, includingmultiprocessor systems, minicomputers, mainframe computers, and thelike. The invention can also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network.

While the invention is not limited to any particular systemconfiguration, for sake of clarity a simplified server having areceiving area and separate processing stages has been described.

FIGS. 2, and 3 describe methods by reference to flow diagrams thatenables one skilled in the art to develop such programs including suchinstructions to carry out the methods on suitably configured computers(the processor of the computer executing the instructions fromcomputer-readable media). If written in a programming languageconforming to a recognized standard, such instructions can be executedon a variety of hardware platforms and for interface to a variety ofoperating systems.

In addition, the present invention is not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof the invention as described herein. Furthermore, it is common in theart to speak of software, in one form or another (e.g., program,procedure, process, application, module, logic . . . ), as taking anaction or causing a result. Such expressions are merely a shorthand wayof saying that execution of the software by a computer causes theprocessor of the computer to perform an action or produce a result.

FIG. 2 is a flow diagram of one embodiment of a method 200 to generate acolor template design. Method 200 can be implemented by digitalprocessing system 140. Referring to FIG. 2, at operation block 201, asource image and template design is provided for selection. The sourceimage and the template design are provided simultaneously for a user toselect the source image and the template design. Alternatively, sourceimage and template design are provided for selection one after another.

At operation block 203, a selection is made. A user of the colortemplate design system selects the source image and the template designeither simultaneously or one after another depending on theconfiguration of the color template design system. The user selects thetemplate design and source image from the various template designs andsource images provided. The source image is further described in FIG. 4.The template design is further described in FIG. 6.

At operation block 205, a histogram is generated based on the selectionof the source image. Data is collected from the color of the selectedsource image and used to generate the histogram. The histogram analyzesthe collected source image color data. A histogram is further describedin FIG. 5.

At operation block 207, colors for the template design are suggestedautomatically based on the histogram analysis. The histogram analysisproduces a choice of colors that match the color of the source image.All color choices are suggested one at a time for user selection.Alternatively, the color choices are suggested simultaneously or as aset number of color choices at a time that is predetermined by the useror the color template design system. One type of color selection isfurther described in FIG. 7.

At operation block 209, a color selection is made. The user of the colortemplate design system selects one of the colors choices suggested. Thecolor template design system offers a variety of template designs to theuser. If the user chooses to change his mind and change the templatedesign from earlier selected template design, the user can select from avariety of template designs to suit the selected color. The user alsohas a choice to apply the selected color to the background, foreground,mat or framing portion of the template design. Alternatively, the usercan choose to apply the selected color to any one or any combination ofthe background, foreground, mat or framing portion of the templatedesign.

At operation block 211, the selected color is applied to the templatedesign at the selected portions. The template design with the appliedcolor is displayed to the user. The user saves the displayed templatedesign as the standard template design for the color template designsystem. As described earlier the display can be a computer, TV, onlineservice, or similar electronic instruments.

Alternatively, the user can save several template designs and have theoption of switching back and forth between the saved template designsfor retrieving and displaying any of the saved template designs.

Alternatively, a color template design system is configured to allow auser to display and use the selected color template design after theuser has paid a service fee to the provider of the color template designsystem.

FIG. 3 is a flow diagram of one embodiment of an operation 300 togenerate a color template design. Operation 300 can be implemented bydigital processing system 140. Operation 300 also allows an algorithm toprovide and select source images, template designs, and colors for thetemplate designs based on data source image gathered.

Referring to FIG. 3, at operation block 301, a source image and templatedesign is provided for selection. As discussed previously, variety ofdifferent template design and source image choices are provided by thecolor template design system either simultaneously or one after another.A source image and template design is selected by the user from thechoices provided.

At operation block 303, a cursor is placed on the source image. Placinga cursor on any one of the provided source images indicates a selectionmade by the user. A cursor can be placed by either using a computermouse, a keyboard, a remote control device, a pointer, touching thesource on the screen or similar function indicating acceptance of thesource image.

At operation block 305, source image data is collected from the selectedsource image. The data represents the color of the source image. Thedata is stored or placed in non-volatile storage media, such as flashmemory or other types of storage devices for use in applying to thetemplate design. The data collection process is initiated instantly asthe user of the color template design system places a cursor on thesource image.

At operation block 307, the collected color data is used to adjust thecolor of the selected template design. The color template design systemautomatically adjusts the color of the earlier selected template designbased on the color data collected from the earlier selected sourceimage. In one embodiment, the automatic adjustment of color on thetemplate design is performed instantaneously, or within a very shorttime period, as the user places the cursor on the source image. Theadjusted color on the template design matches the color of the sourceimage. Alternatively, a color template design system is configured toadjust the color to a contrast or any predetermined variation of thecolor of the source image.

Alternatively, a system prompt is displayed to the user asking the userto accept the color adjustment. The user accepts the system prompt, andthe color template design system adjusts the color on the templatedesign based on source image data collected earlier. Alternatively, theuser rejects the system prompt and no color adjustments are performed tothe template design.

At operation block 309, a template design with a matched source imagecolor is displayed. The user may choose to save this color templatedesign as a standard color template design for the color template designsystem.

FIG. 4 illustrates one exemplary type of source image 400 according toone embodiment. An source image is an image displayed on a display. Forexample, the image can be a photograph, text, computer icons, or anytype of art. Several types of source images are offered by the colortemplate design system for selection by a user. A source image can alsobe of a variety of different images with various colors and be eitherpart of the color template design system or available as softwarepackages available in the market including images downloaded from theInternet.

FIG. 5 illustrates one exemplary type of histogram 500 generated basedon the selection of an source image according to one embodiment. Ahistogram is a bar graph of a frequency distribution in which the widthsof the bars are proportional to the classes into which the variable hasbeen divided and the heights of the bars are proportional to the classfrequencies. The variable represents color of the observed frequencies.

FIG. 6 illustrates one exemplary type of template design 600 accordingto one embodiment. The template design has a background, foreground, matand a framing portion. Area 601 represents a foreground or backgroundportion. A template design has a cut-out where an source image isplaced. The cut-out can vary in shapes and sizes to fit the sourceimage. A user selects from the various template designs with a varietyof cut-out portions. Alternatively, the user selects and modifies thetemplate cut-out or any portion of the template design by manuallychanging the portions to desired levels.

The color template design system offers a variety of template designchoices to users for selecting a template design. Alternatively, avariety of template design choices, such as, template software packagesavailable on the market including template designs accessible over theInternet are used by the color template design system.

FIG. 7 illustrates one exemplary type of color selection choice menu 700according to one embodiment. Operation blocks 701, 702 and 703 are colorselections that are different from each other. A user selects any one ofthe offered selections to adjust the color in any portion of thetemplate design. For example, a user selects a color selection 702 andthe color template design system changes the color in area 704 of thetemplate design to color selected at operation block 702.

As discussed previously, any predetermined number of color selectionsare offered by the color template design system. The color selectionsare either offered one after another or simultaneously.

An online color template design system has been described that allows auser of the color template design system to select a color templatedesign. Although specific embodiments have been illustrated anddescribed herein, it will be appreciated by those of ordinary skill inthe art that any arrangement which is calculated to achieve the samepurpose may be substituted for the specific embodiments shown. Thisapplication is intended to cover any adaptations or variations of thepresent invention.

Also, although separate processing stages have been used to describe theserver processing stages, it will be appreciated by those of ordinaryskill in the art that any arrangement of processing stages to achievethe same purpose may be substituted for the specific embodiments shown.

The terminology used in this application with respect to networks ismeant to include all of environments in which a server computercommunicates with client computers to send and receive data. Therefore,it is manifestly intended that this invention be limited only by thefollowing claims and equivalents thereof.

1. A computerized method for generating a color template designcomprising: automatically adjusting colors of at least one selectedtemplate design based on placement of a cursor on a source image that isseparate from the template design.
 2. The computerized method of claim1, wherein adjusting comprises: collecting color data from the sourceimage on which the cursor is placed; and using the collected color datato adjust color of the selected template design.
 3. The computerizedmethod of claim 1, further comprising: displaying the selected templatedesign after automatically adjusting colors; and storing the selectedtemplate design for use as a template.
 4. The computerized method ofclaim 1, wherein colors of the selected template design are adjusted tomatch colors of the source image on which the cursor is placed.
 5. Thecomputerized method of claim 1, wherein adjusting comprises: generatinga histogram for the source image on which the cursor is placed;analyzing the histogram; and automatically adjusting the colors of theselected template design based on the analysis of the histogram.
 6. Thecomputerized method of claim 1, wherein the selected template designincludes a foreground portion and a background portion that are adjustedto match colors of the source image on which the cursor is placed.
 7. Acomputerized system comprising: a processor; a memory coupled to theprocessor through a system bus; a computer-readable medium coupled tothe processor through the system bus; and a color template design moduleexecuted from the computer-readable medium by the processor to cause theprocessor to automatically adjust colors of at least one selectedtemplate design based on placement of a cursor on a source image that isseparate from the template design.
 8. The computerized system of claim7, wherein the color template design module causes the processor toplace a cursor on a source image, collect color data from the sourceimage on which the cursor is placed, and use the collected color data toadjust color of the selected template design.
 9. The computerized systemof claim 7, wherein the color template design module causes theprocessor to display the selected template design after automaticallyadjusting colors, and store the template design for use as a template.10. The computerized system of claim 7, wherein colors of the selectedtemplate design are adjusted to match colors of the source image onwhich the cursor is placed. a color template design module executed fromthe computer-readable medium by the processor to cause the processor toautomatically adjust colors of at least one selected template designbased on placement of a cursor on a source image that is separate fromthe template design.
 11. The computerized system of claim 7, wherein thecolor template design is further to cause the processor to automaticallyadjust colors module by: generating a histogram for the source image onwhich the cursor is placed; analyzing the histogram; and automaticallyadjusting the colors of the selected template design based on theanalysis of the histogram.
 12. The computerized system of claim 7,wherein the selected template design includes a foreground portion and abackground portion that are adjusted to match colors of the source imageon which the cursor is placed.
 13. A computer-readable medium havingcomputer-executable instructions to cause a server computer to perform amethod comprising: automatically adjusting colors of at least oneselected template design based on placement of a cursor on a sourceimage that is separate from the template design.
 14. Thecomputer-readable medium of claim 13, wherein automatically adjustingcomprises: placing a cursor on a source image; collecting color datafrom the source image on which the cursor is placed; and using thecollected color data to adjust color of the selected template design.15. The computer-readable medium of claim 13, wherein the method furthercomprises: displaying the selected template design after automaticallyadjusting colors; and storing the selected template design for use as atemplate.
 16. The computer-readable medium of claim 13, wherein colorsof the selected template design are adjusted to match colors of thesource image on which the cursor is placed.
 17. The computer-readablemedium of claim 13, wherein automatically adjusting comprises:generating a histogram for the source image on which the cursor isplaced; analyzing the histogram; and automatically adjusting the colorsof the selected template design based on the analysis of the histogram.18. The computer-readable medium of claim 13, wherein the selectedtemplate design includes a foreground portion and a background portionthat are adjusted to match colors of the source image on which thecursor is placed.